Method and apparatus to obtain real-time status information from a networked device

ABSTRACT

A method of obtaining information from a networked device is provided. The method includes the steps of defining a network; providing a network adapter communicatively connected to the network, the network adapter connected to the networked device; providing memory in the network adapter; updating information in the memory, wherein the information describes a status of the networked device; placing the information into a response frame; and sending the response frame in response to any command frame received by the network adapter.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to obtaining information from a networked device, and, more particularly, to obtaining real-time status information from a networked device.

[0003] 2. Description of the Related Art

[0004] In order for an application running on a host networked workstation to display the status of a networked device, the application must interrogate the networked device to obtain status information. This process is costly, in several regards, first multiple queries are required to obtain the necessary information, which leads to excessive network traffic. Secondly, there is additional hardware/firmware complexity in the networked device in order to establish connections between the workstation and the networked device. Thirdly, the networked device may be engaged with other host applications and be unable to respond when queried by an application.

[0005] Different sorts of network frames are used to determine several things about a networked device, including: whether or not the device is present and active on the network; whether or not the device is free to establish a networked connection to a host networked device; and the status of the networked device. The networked device is required to respond in various ways depending on the type of status information requested by the host networked device.

[0006] What is needed in the art is an apparatus and a method to provide a uniform response of the real-time status of a networked device each time a request is made.

SUMMARY OF THE INVENTION

[0007] The present invention provides an apparatus and a method to provide a uniform response of the real-time status of a networked device each time a request is made.

[0008] The invention comprises, in one form thereof, a method of obtaining information from a networked device. The method includes the steps of defining a network; providing a network adapter communicatively connected to the network, the network adapter connected to the networked device; providing memory in the network adapter; updating information in the memory, wherein the information describes a status of the networked device; placing the information into a response frame; and sending the response frame in response to any command frame received by the network adapter.

[0009] In another form of the invention, an imaging system includes a network, at least one workstation communicatively connected to the network and an imaging device. The imaging device includes a network adapter communicatively connected to the network, a print engine and a memory. The print engine, the memory and the network adapter are communicatively connected. The print engine stores and updates information in the memory, the information describing the status of the print engine. The network adapter performs an instruction of placing the information into a response frame and the network adapter performs an instruction of sending the response frame in response to any command frame received by the network adapter.

[0010] An advantage of the present invention is that real-time device status information is obtained by a workstation.

[0011] Another advantage is that device status information is available from a networked device even though the networked device is servicing another application or workstation.

[0012] Yet another advantage is that uniform device status information is sent in response to all command frames. This eliminates the need to support specific status information requests, thus reducing the cost of a networked device.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The above-mentioned and other features and advantages of this invention, and the manner of attaining them, will become more apparent and the invention will be better understood by reference to the following description of an embodiment of the invention taken in conjunction with the accompanying drawings, wherein:

[0014]FIG. 1 is a schematic block diagram of an imaging system embodying the present invention;

[0015]FIG. 2A is a schematic block diagram of a request frame generated within the imaging system and directed toward a networked device embodying the present invention of FIG. 1;

[0016]FIG. 2B is a schematic block diagram of a response frame generated by a networked device in response to a command frame of FIG. 2A; and

[0017]FIG. 3 depicts a flow diagram of a process for responding to a command frame in the imaging system of FIGS. 1, 2A and 2B.

[0018] Corresponding reference characters indicate corresponding parts throughout the several views. The exemplifications set out herein illustrate one preferred embodiment of the invention, in one form, and such exemplifications are not to be construed as limiting the scope of the invention in any manner.

DETAILED DESCRIPTION OF THE INVENTION

[0019] Referring now to the drawings and particularly to FIG. 1, there is shown an imaging system 10 including a workstation 12, a workstation 14, a workstation 16, a network 18 and a networked device 20.

[0020] Workstations 12, 14 and 16 are computers which are communicatively connected to networked device 20 by way of network 18. Although three workstations are shown networked in FIG. 1, these are representative of any number of workstations connected to network 18.

[0021] Network 18 provides communicative interconnection between workstations 12, 14 and 16 and networked device 20 and any other devices connected thereto.

[0022] Networked device 20 includes a print engine 22, a memory 24, an interconnection 26 and a low cost network adapter (LCNA) 28. Networked device 20 may be an imaging device, such as a printer. In the embodiment of the invention described herein, networked device 20 will be in the form of a printer.

[0023] Print engine 22 receives printer control information and print data from LCNA 28, processes the information and data and produces a printed page. Print engine 22 updates device status information in memory 24 relative to the status of print engine 22. The device status information delivered to memory 24 by print engine 22 includes, such things as, whether print engine 22 is busy or idle, if paper is jammed, if paper is available, ink levels, head alignment settings, configuration and cartridge status. Real-time delivery of device status information by print engine 22 to memory 24 occurs asynchronously to the functioning of network 18 and LCNA 28. Print engine 22 updates memory 24 when status or configuration of print engine 22 changes. Such an arrangement allows LCNA 28 to provide a quick uniform response on the status of networked device 20 by retrieving device status information from memory 24.

[0024] Memory 24 is interconnected with print engine 22 and LCNA 28. Memory 24 contains device status information on the status of networked device 20. Print engine 22 stores device status information in memory 24 on a real-time basis as the status of print engine 22 changes. The device status information stored in memory 24 is utilized by LCNA 28 when LCNA 28 responds to an inquiry sent from a workstation such as workstation 12, 14 or 16.

[0025] Interconnection 26 provides a communication link between print engine 22, memory 24 and LCNA 28 of networked device 20. Interconnection 26 facilitates the sharing of information among two or more of print engine 22, memory 24 and LCNA 28.

[0026] LCNA 28 receives all network traffic directed to networked device 20 by way of network 18. Print engine 22 relies on LCNA 28 to deliver printer control information and print data thereto. Workstations 12, 14 or 16 send any of several types of frames to LCNA 28. For certain types of frames received by LCNA 28, LCNA 28 prepares a response and sends that response on network 18.

[0027] Now additionally referring to FIGS. 2A and 2B, there is shown a request frame 30 and a response frame 50. Request frame 30 is transmitted by a workstation on network 18 and is received by LCNA 28. LCNA 28 responds to the receipt of request frame 30 in the form of response frame 50.

[0028] Request frame 30 includes a destination address 32, a source address 34, a frame identifier 36, a content identifier 38 and a payload field 40.

[0029] Destination address 32 is the address of the device on network 18 to which request frame 30 is directed.

[0030] Source address 34 is the address of the device on network 18 from which request frame 30 originated.

[0031] Frame identifier 36 identifies the frame being sent on network 18.

[0032] Content identifier 38 contains a value which defines the type of the frame which is one of a data frame, a configuration frame, or a command frame.

[0033] The configuration frame relates to establishing an IP address for LCNA 28 on network 18.

[0034] A data channel includes a set of data frames. A data frame is used to send print objects from a workstation 12, 14 or 16 to networked device 20, by way of LCNA 28, using payload field 40. Only one workstation is allowed to ‘own’ the data channel at a time, such workstation is known as an “Owner Workstation”. Any frame received by LCNA 28 in the form of a data frame that does not originate from the Owner Workstation is disregarded by LCNA 28.

[0035] Any workstation can send a command frame to LCNA 28, to which LCNA 28 will always respond. The command frame may be one of a “Status” request, a “Connect” request, a “Close” request or a “Terminate” request. In response to any request received by way of the command frame, LCNA 28 reads the device status information stored in memory 24 and includes the device status information in response frame 50 to send as a response to the workstation having sent the command frame.

[0036] Payload 40 may include data to be utilized by LCNA 28 or print engine 22.

[0037] Response frame 50 includes a destination address 52, a source address 54, a frame identifier 56, a content identifier 58 and a payload field 60. Response frame 50 is generated in response to any command frame received by LCNA 28.

[0038] Destination address 52 is the address of the device on network 18 to which response frame 50 is directed. LCNA 28 places the contents of source address 34 of request frame 30 into destination address 52.

[0039] Source address 54 is the address of the device on network 18 from which response frame 50 originated. The contents of source address 54 is the address of LCNA 28 which is also the contents of destination address 32.

[0040] Frame identifier 56 identifies the frame being sent on network 18. LCNA 28 copies the contents of frame identifier 36, of request frame 30, into frame identifier 56, hence LCNA 28 is echoing back the same information sent.

[0041] Content identifier 58 contains a value which defines the frame as a response frame.

[0042] Payload 60 in response frame 50 contains a network address, a current IP address, a current name of networked device 20, a number of forward data frame buffers supported by networked device 20, an IP address of the current data channel owner (0.0.0.0 if there is no data channel owner), a UDP port of the current data channel owner (0 if there is no data channel owner), a unique device dependent identifier and a fixed length device dependent data structure. The workstation receiving response frame 50 retrieves the portion of information desired from the payload 60 and disregards the rest of the contents of payload 60.

[0043] Now additionally referring to FIG. 3, there is depicted a plurality of processing steps, typically executed by an LCNA equipped device on a network in response to the receipt, by LCNA 28, of a command frame, as more fully described below.

[0044] The process of FIG. 3 is initiated when LCNA 28 receives a command frame from a workstation.

[0045] At the point of beginning of the process, and specifically prior to step 100, workstation 12, 14 or 16 sends a request frame 30 on network 18 to networked device 20 by way of LCNA 28. LCNA 28 receives request frame 30 and at step 100 LCNA 28 determines whether the received frame is a command frame.

[0046] If, at step 100, LCNA 28 determines that a command frame has not been received from a “Sender” the process returns to the point of beginning. A Sender is the workstation located at source address 34 of a received frame.

[0047] If, at step 100, LCNA 28 determines that a command frame has been received from a Sender the process continues at step 102.

[0048] At step 102, LCNA 28 determines whether the command frame is a Status request, a Connect request, a Close request or a Terminate request.

[0049] If, at step 102, LCNA 28 does determine that a Status request has been received then the process continues at step 104.

[0050] If, at step 102, LCNA 28 does determine that a Connect request has been received then the process continues at step 106.

[0051] If, at step 102, LCNA 28 does determine that a Terminate request has been received then the process continues at step 108.

[0052] If, at step 102, LCNA 28 does determine that a Close request has been received then the process continues at step 110.

[0053] If, at step 102, LCNA 28 determines that the command frame is not a Status request, a Connect request, a Close request or a Terminate request, then the process returns to the point of beginning.

[0054] At step 104, LCNA 28 retrieves device status information from memory 24 and assembles it as payload 60 of response frame 50. LCNA 28 also places source address 34 into destination address 52, destination address 32 into source address 54, frame identifier 36 into frame identifier 56 and sets content identifier 58 to indicate a response frame. The process then continues at step 114.

[0055] At step 106, LCNA 28 determines if the data channel is owned by a workstation. The ownership of the data channel signifies that for the duration of ownership only data from the Owner Workstation can be accepted. No more than one workstation can own the data channel at any particular time. LCNA 28 does accept frames from other workstations as described herein, but LCNA 28 will accept data only from the Owner Workstation.

[0056] If, at step 106, LCNA 28 determines that the data channel does have an owner, then process flow continues at step 104.

[0057] If, at step 106, LCNA 28 determines that the data channel does not have an owner, then process flow continues at step 112.

[0058] At step 108, LCNA 28 communicates with print engine 22 to terminate any print job that print engine 22 may be printing. The process flow then continues at step 110.

[0059] At step 110, LCNA 28 frees the data channel, thus the data channel is no longer owned. The process flow then continues at step 104.

[0060] At step 112, LCNA 28 records the Sender as the Owner Workstation of the data channel. The process flow then continues at step 104.

[0061] At step 114, LCNA 28 sends response frame 50 to the Sender and the process returns back to the point of beginning.

[0062] While this invention has been described as having a preferred design, the present invention can be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the invention using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains and which fall within the limits of the appended claims. 

What is claimed is:
 1. A method of obtaining information from a networked device, comprising the steps of: defining a network; providing a network adapter communicatively connected to said network, said network adapter connected to said networked device; providing memory in said network adapter; updating information in said memory, wherein said information describes a status of said networked device; placing said information into a response frame; and sending said response frame in response to any command frame received by said network adapter.
 2. The method of claim 1, wherein said command frame includes at least one of a Status request, a Connect request, a Close request and a Terminate request.
 3. The method of claim 2, wherein if said command frame includes said Status request, then performing said placing step and performing said sending step.
 4. The method of claim 2, wherein if said command frame includes said Connect request, then further comprising the step of determining if a data channel has an owner.
 5. The method of claim 4, wherein if said data channel has an owner then performing said placing step and performing said sending step to send said response frame to a sender of said command frame.
 6. The method of claim 4, wherein if said data channel does not have an owner then further comprising the steps of: recording a sender of said command frame as said owner of said data channel; performing said placing step; and performing said sending step to send said response frame to said sender of said command frame.
 7. The method of claim 2, wherein if said command frame includes said Close request then further comprising the steps of: freeing a data channel; performing said placing step; and performing said sending step to send said response frame to a sender of said command frame.
 8. The method of claim 2, wherein if said command frame includes said Terminate request then further comprising the steps of: signaling a printer engine to terminate a print job; freeing a data channel; performing said placing step; and performing said sending step to send said response frame to a sender of said command frame.
 9. The method of claim 1, wherein said updating step is performed upon a change in at least one of a status and a configuration of said networked device.
 10. The method of claim 1, wherein said placing step is performed when said network adapter receives said command frame.
 11. An imaging system, comprising: a network; at least one workstation communicatively connected to said network; an imaging device, comprising: a network adapter communicatively connected to said network; a print engine; a memory, said print engine, said memory and said network adapter being communicatively connected; wherein said print engine stores and updates information in said memory, said information describing the status of said print engine, said network adapter performs an instruction of placing said information into a response frame and said network adapter performs an instruction of sending said response frame in response to any command frame received by said network adapter.
 12. The imaging system of claim 11, wherein said network adapter determines whether said command frame includes at least one of a Status request, a Connect request, a Close request and a Terminate request.
 13. The imaging system of claim 12, wherein if said command frame includes said Status request, then said network adapter performs said instruction of placing and said instruction of sending.
 14. The imaging system of claim 12, wherein if said command frame includes said Connect request, then said network adapter determines if a data channel has an owner.
 15. The imaging system of claim 14, wherein if said data channel has an owner then said network adapter performs said instruction of placing and said instruction of sending to send said response frame to a sender of said command frame.
 16. The imaging system of claim 14, wherein if said data channel does not have an owner then said network adapter performs an instruction of recording a sender of said command frame as said owner, said network adapter performing said instruction of placing and said instruction of sending to send said response frame to said sender of said command frame.
 17. The imaging system of claim 12, wherein if said command frame includes said Close request, then said network adapter performs an instruction of freeing a data channel, said network adapter performing said instruction of placing and said instruction of sending to send said response frame to a sender of said command frame.
 18. The imaging system of claim 12, wherein if said command frame includes said Terminate request, then said network adapter performs an instruction of signaling said print engine to terminate a print job and said network adapter performs an instruction of freeing a data channel, said network adapter performing said instruction of placing and said instruction of sending to send said response frame to a sender of said command frame.
 19. The imaging system of claim 11, wherein said print engine updates said memory upon a change of at least one of a status and a configuration of said print engine.
 20. The imaging system of claim 11, wherein said network adapter places said information into said response frame when said network adapter receives said command frame. 